AWS SAA本番向け全マージ版
S3ストレージクラス
S3 Standard
S3 Standard-IA
Standardより安い。耐障害性は少し落ちる
S3 One Zone-IA
Standard IAより安い。3AZ → 1AZという意味で耐障害性落ちる
S3 Glacier Instant Retrieval
Glacierの中では高価だが即時アクセス可能
S3 Glacier Flexible Retrieval
大容量低価格だが取り出しに数分~12時間かかる
即時取り出しは5分
S3 Glacier Deep Archive
Flexivble Retrievalよりも大容量低価格だが取り出しに12~48時間かかる
S3 Intelligent-Tiering
アクセスパターンからストレージクラスを自動判別。頻度不明なときに
EBSボリュームタイプ
table:t
gp2, gp3 汎用SSD
io1, io2 プロビジョンド IOPS SSD
st1 スループット最適化HDD
sc1 Cold HDD
standard マグネティック
プロビジョンドはハイスペック用でIOPSを事前指定する。高価。
st1はHDD、sc1はGlacier的なやつ
standardは古いので無視していい
EC2キャパシティ系(コスト戦略)
オンデマンドインスタンス
従量課金
1年分の料金を前払いする感じ。主にEC2。長期的に使うことが見込める場合はアリ
全インスタンスに適用
リサーブドインスタンス
指定インスタンスのみを前払い形式
スポットインスタンス
AWS側の余剰領域を使う。安い。値段が変動するリスクあり。マシンが停止するリスクあり
キャパシティ予約
キャパシティを事前予約。イベント用や機械学習用
≒「オンデマンドキャパシティ予約」でいいsta.icon
機械学習のときは「機械学習用のキャパシティブロック」
EC2フリート
EC2 フリートは、AWS上で複数のインスタンスタイプや購入オプション(オンデマンド、リザーブド、スポット)を組み合わせて一括で起動・管理できるサービス機能です。これにより、可用性やコスト最適化を柔軟に実現できます。
フリートは「艦隊」sta.icon
スポットフリート
スポットフリートは、指定した価格(上限)とキャパシティ要件に従って、スポットインスタンスおよび(必要に応じて)オンデマンドインスタンスを自動で起動・終了する機能です。主にコスト削減目的で柔軟にサーバーキャパシティを確保できます。
EC2フリートに集約されつつあってレガシーだ、との情報もあるが……sta.icon
SSE(サーバーサイド暗号化)
SSE-S3
S3に入れたデータはS3側のキーで自動で暗号化されるよって話(以前は明示的にオプション必須だった)
SSE-KMS
S3側のキーではなく、KMSに入れたキーを使った暗号化にできる
SSE-C
CはCustomer、アップロードごとに顧客側で用意したキーを指定する。キーはAWS側では(長期は)保存しない
Lambda
Lambda Layer:共通処理をコンポーネント化してまとめておける&参照できる
デットレターキュー:複数回処理に失敗したときにその旨をSQS/SNSに送れる
IAMまわり
リソースベースとアイデンティティベース
リソースベースのポリシーでは、リソースにアクセスできるユーザーを指定
アイデンティティベースは「誰か」にどのリソースで何ができる・できないを指定
AWS Security Token Service (AWS STS)
一時的な認証情報(セキュリティ認証情報)を発行する AWS のウェブサービスです。これにより、AWS のリソースにアクセスするための一時的なアクセスキー、シークレットアクセスキー、セッショントークンを取得できます。
インラインポリシーはアイデンティティに埋め込む
1 つの IAM アイデンティティ (ユーザー、ユーザーグループ、ロール) に埋め込まれたポリシー
---
---
---
SAA 模試1 カバー
AWS ParallelCluster
ハイパフォーマンスコンピューティング(HPC)クラスターをデプロイおよび管理するためのオープンソースのクラスター管理ツールです。AWS ParallelClusterを利用することで、EC2インスタンスベースのHPCコンピューティング環境を迅速に構築し、デプロイして管理することができます。
RDSプロキシにより接続を保留できる
Amazon RDS DBインスタンスへの接続にRDS Preryを利用することで、DB接続を効率的に管理できます。AWS LambdaがAuroraやRDSのデータベースインスタンスのエンドポイント経由で接続する際、AWS Lambdaは継続的なLambda関数の呼び出しを考慮して、一時的にコネクションを保持します。この結果、関数実行があるたびにDBコネクション数が増加するため、接続エラーが発生する可能性があります。この問題を回避するためには、RDSプロキシを活用してLambda関数との接続を行うことが重要です。
DAXクラスターの暗号化設定は変更できないので、作り直せ
Data Streams がリアルタイム、Data Firehoseは変換と格納
Amazon Kinesis Data Streamsは、ストリームデータの処理に特化したサービスです。このサービスを利用することで、クリックストリームデータをリアルタイムで取得し、処理するアプリケーションを開発することが可能です。
エンドポイントで Amazon Kinesis Data Streams のライブラリを使って(API叩いて)データの送信を行い、AWS 側の Amazon Kinesis Data Streams 用のストレージ(シャード。最大7日)で一時保存する
Amazon Data Firehoseは、ストリームデータを変換し、ストレージやデータベースに配信するためのサービスです。これを用いることで、データをAmazon S3バケットに送信することができます。ストリームデータは非常に大量になるため、S3バケットなどを利用してデータを保存する仕組みが必要です。
Amazon Redshift Spectrum も S3 を直に処理できる、特に規模でかいとき
SQS の可視性タイムアウト期間
可視性タイムアウト期間は、最初にメッセージを受信したコンシューマー以外のコンシューマーからはメッセージが見えなくなります。
DynamoDB で予測できないときはオンデマンドモード
逆を言うと「プロビジョンド」は予測できるときに使え
EC2 は起動設定ではなく起動テンプレートを使え
❌起動設定
⭕起動テンプレート
AWS Elastic Disaster Recovery
を活用することで、オンプレミス環境の複数の仮想マシンやMySQLデータベースサーバーをAWSクラウド環境にコピーして、DR構成を整備することが可能です。
AWS DataSyncとAWS Storage Gatewayを用いてVMやDBをAWS環境に同期させることはできません。AWS Replication Agentを活用してバックアップデータをAWS環境に同期させる必要があります。
そうか、これらは転送用途だsta.icon
ポリシーとロールの違い
ポリシーはデフォで用意された権限。だがユーザーがつくることもできる
ロールはポリシーをグルーピングしたもの
リアルタイム分析がしたいなら Athena よりも EMR Spark ジョブ
SNSによる通知をつくるときは EventBridge もセットで
SNSは通知を送る手段であるが、いつSNSにセットするかの仕組みも要る → EventBridge
オプション1は不正解です。Amazon SNSトピックのみではアラーム通知が実行できるだけであるため、有効期限が近づいている証明書を検出するためには、Amazon EventBridgeと連携する必要があります。
災害対策や地理的な読み取り拡張なら「クロスリージョンリードレプリカ」
SLAが厳しく、切り替え自動化やRTO/RPO短縮が必要なら「Aurora Global Database」
Deep Archive は 12 時間、Flexible Retrieval は 1~5 分
Flexible Retrieval:迅速取り出しは 5 分、標準取り出しは 5 時間、大容量取り出しは 12 時間
AWS Backupのボールトロックはコンプライアンス向けのポリシー適用
ちなみにGlacierにもボールトロックの概念がある、ただGlacierはS3 Glacierが後続であって2025/12に新規受付停止
Lambda の関数 URL を使えば API Gateway 要らず
これまで、HTTPを介してLambda関数を実行するにはAPI Gatewayを利用する必要がありました。しかし、新たに導入された関数URL(Function URLs)機能により、API Gatewayを経由せずにパブリックに公開されるAPIや、簡易な認証を実装したAPIをAWS Lambdaに設定することが可能となりました。
CloudFront を Route53 に追加したいならエイリアスレコード
Route 53のドメイン設定において、CloudFrontなどのAWSリソースをRoute 53レコードに設定するためにはALIASレコードを使用する必要があります。ALIASレコードは、Route 53においてELBなどのAWSリソースを設定するためのAWS独自のレコード形式です。ALIASレコードには、IPアドレスやドメイン名の代わりに、CloudFront、Elastic Beanstalk環境、ELB、静的Webサイトとして設定されたAmazon S3バケットへのポインタ、または同じホストゾーン内の他のRoute 53レコードを指定することができます。
ホットシャード、コールドシャードはデータの流れの盛り上がり
ホットシャードはトラフィックやリクエストが極端に集中しているシャード
コールドシャードはほとんどデータが流れていないシャード
デッドレターキューは Lambda にも設定できる
S3のプレフィックスとはフォルダパスのこと
ただし内部的には /aaa/bbb/c.txt は
⭕/aaa/bbb/c.txtという名前のオブジェクト
❌aaa配下の、bbb配下の c.txt
---
---
---
SAA 模試2 カバー
リソースにアクセス権つけるならアクセスポリシー
異なるAWSアカウントのAWSリソースに対して、SQSキューへのアクセス権を付与するには、SQSアクセスポリシーにおいて特定のアカウントを指定し、SQSキューへのメッセージの送受信を許可する必要があります。
インスタンスプロファイルは EC2 <-- IAM ロールの間にはさんであるやつ
内部的には、IAMロールはEC2インスタンスに直接結びつけることができず、InstanceProfile経由でIAMロールを結びつけることでEC2インスタンスでIAMロールを使用できるようにしています。
ファイアウォール、アウトバウンド時は広範囲の指定が必要
SSH接続を行う際には、アウトバウンド通信にはポート番号22ではなく、PC側の広範囲なポート番号である1024から65535の設定が必要です。
そう、これ何度かハマった覚えあるわsta.icon
Amazon Interactive Video Service (Amazon IVS)
世界中の視聴者が低レイテンシーまたはリアルタイムの動画を利用できるようにするライブストリーミングソリューションです。
RTMP(リアルタイムメッセージングプロトコル)およびその暗号化されたバージョンであるRTMPSを使用して、Amazon Interactive Video Service (Amazon IVS) ステージにブロードキャストすることが可能です。
EFS の汎用モードと最大IOモード
汎用モードはレイテンシー低い
最大IOモードは同時アクセス用で、スループットは上がるがレイテンシーは落ちる
🐰レイテンシー(遅延)とスループット(処理量)はトレードオフ
Auto Scalingのウォームプール
スケールアウトで使うインスタンスを事前に起動しておく
リアルタイムかつ処理も完結したければ Spark + Amazon EMR
Textractで言語情報抽出 → Comprehend で分析が鉄板
ニュースサイトのようなテキスト情報を分析する際には、言語識別AIの活用が不可欠です。まず、分析を容易にするために、テキストから文字情報を抽出する必要があります。そのため、Amazon Textractを使用して文字データを取り出すことが求められます。
Textractは以下の理解だったけどちゃうやんけsta.icon
OCR強化版。画像中の表をそのまま表データとして抜き出すとか。
AWS DataSync では SFTP 転送には対応してない
SFTP 転送と来たら Transfer Family を疑え
AWS Load Balancer Controller は k8s 用の LB
EKS でも Windows Server は使える
Amazon Transcribe の PII リダクション機能で文字起こし時に個人情報消せる
ちなみに PII = 個人を特定できる情報(Personal Identifiable Information)
PII をマスキングすることをリダクションというらしい
ファイル共有するならファイルゲートウェイ
ファイル共有を構成するには、AWS Storage Gatewayのボリュームゲートウェイではなく、Amazon S3ファイルゲートウェイを使用する必要があります。
SNSだとメール一斉配信になる、個別に送りたいならSES使え
個別のメール通知を実施するにはAmazon SESによるメール機能の実装が必要となります。
RDS の自動バックアップは AWS Backup 使わなくていい
RDS の手動バックアップ削除は手作業必要、保持期間の概念もない
不特定のIPアドレスからのDDoS攻撃を防ぐなら Amazon Shield Advanced
Shield Response Team (SRT) の協力を得ることが最も効果的な方法です。これにより、攻撃の影響を軽減するための制御をサービスに組み込むことが可能になります。
AWS Transfer for SFTP はかんたんに使えるのでコスト効率いい、EFS や S3 に送れる
FSx for Lustre でパフォーマンスほしいならスクラッチファイルシステム
永続化ファイルシステムはパフォーマンスは落ちる、長期間用
CloudFormation テンプレートだけではアプリケーションのデプロイと管理はできない
たしかに。リソースをつくるだけやsta.icon
AWS ElasticBeanstalk の中で CloudFromation を使える
S3 と RDS 両方に保存したいなら AWS Lake Formation
DynamoDBストリームから直接SNSトピックに通知を送ることはできない
Lambdaをはさむなどするsta.icon
SNS通知とは、SNSトピックに通知を送ること
1 AがSNSトピックXに通知を送る ★ここの話
2 Xが「自分を購読しているサブスクライバーたち」に通知をおくる
Amazon DynamoDB Accelerator (DAX)は一時的なアクセス集中にはオーバースペック
を有効化することで、キャッシュレイヤーをテーブルに追加して高速なキャッシュ処理を実現することができます。しかしながら、これは一部のデータ処理を高速化するために利用する機能であり、一時的なアクセス集中に対する方策としては、コスト効率が悪い対応となります。
RDS の Auto Scaling はストレージのスケールであり、CPU やパフォーマンスは関係ない
DB のシャーディングとは
レコードをテーブルに分けて記載する: 1テーブル100万 → 5テーブル20万
テーブル保存先も複数のデータベースやサーバーに分けることも含む
複製(レプリケーション)ではない
AWS App Mesh はマイクロサービス間の通信を制御・観測できるサービスメッシュで、TLS 通信標準化も可能
「XXXを行ってクラスターを構成する」は、XXXX をクラスターの構成要素にするという意味
>AWS Lambda関数を作成して、Amazon ECSクラスターを構成する
lambdaは構成要素にはなれないので不可能
日本語ぉsta.icon
気にしててはノイジー。本番はこういう日本語うんちが出ないことを祈ろう
ビューアーとは CloudFront にアクセスするクライアントのこと
オリジンとは CloudFront が元データを取りに行く先のこと
オリジンが ELB 以外の場合、ACM は使えないので CA 証明書を使う
不定期実行、短時間で終了、中断可能 → スポットインスタンスを使え
Amazon Managed Service for Apache Flink
Apache Flink を使用してリアルタイムストリーム処理アプリケーションを構築できます。Apache Flink は1秒未満のレイテンシーでデータを継続的に処理し、イベントにリアルタイムで対応します。その後、シンクとして設定されているAmazon S3バケットにApache Flink はデータを取り込みます。
from source to Sink、両方とも指定必須なのでシンク指定がないような選択肢は除外できるsta.icon
sinkには受信装置の意味がある。データが流れ込む先という意味sta.icon
NLB に WAF は設定できない、ALB にしろ
WAFがそもそもアプリ層(L7)なので、L4のNLBじゃないよねって話sta.icon
AWS IAM Identity Center は SSO
複数のAWSアカウントやアプリケーションへのシングルサインオン(SSO)を提供するサービス
AWS Directory Service は Organizations では連携できない
Directory Service
ディレクトリ(ADなど)による認証・認可をAWS上で実現するサービス
認証メカニズムにAWS Directory Serviceを直接使用するようにAWS Organizationsの組織を設定する方法はありません
SNS のパブリッシュとサブスクライブ
パブリッシュは、SNS にデータを送信する(SNSトピックに通知する、とも表現する)
すると SNS がサブスクライバーらに送信する(サブスクライバー側が受信する)
SNSは自らが送信機能を持つ。SQSは持たないただの箱sta.icon
SNS の話は主語や目的語がめちゃくちゃで理解するの無理なので、登場人物から構成を推測しにいっていい
Amazon SNS 標準トピックに複数のAmazon SQSキューをサブスクライブする。Amazon SNS 標準トピックがメッセージを収集して、それを複数のSQSキューに配信する。キューからデバイスデータメッセージを取得して処理するように複数の外部アプリケーションを設定する。
これとか解読不可能
SNS x1、SQS x 複数、で SQS 自体は送信機能は持たないので、publisher --> SNS --> SQSたち、の構成だと一意に特定できる
Data Firehose は DynamoDB テーブルにデータを配信できない
可能なのは S3, Redshift, OpenSearch Service あたり
S3 オブジェクトロックはバケット作成時にのみ有効にできる
S3 オブジェクトロックとは、バケット内のオブジェクトを一定期間または無期限で削除・上書き不可にする機能
IMDS(インスタンスメタデータサービス)
EC2インスタンス内からインスタンス自身の情報や認証情報を取得できるサービス
IMDS(インスタンスメタデータサービス)へのアクセスを封じるにはローカルのファイアウォール使うしかない
CSE はクライアントサイド暗号化の略称
ちなみに S3 や Dynamo で使えるらしい、SDK 使って暗号化処理入れる感じ
複数インスタンスからの同時マウント(データ共有)は EFS。EBS ではできないよ
EFS
EFSはNFS(Network File System)プロトコルを使っています。
NFSは、ネットワーク越しに複数のクライアント(この場合EC2インスタンス)が1つのファイルシステムを同時にマウントして利用できる技術です。
EC2インスタンスタイプ
table:t
A Arm、低コスト a1.medium 軽量用途、Arm必須
M 汎用、バランス型 m5.large、m6g.large あらゆる用途
T バースト型、低価格 t3.micro、t4g.medium 一時的な負荷向き
クラスタープレイスメントグループはインスタンス起動前に定義が必要だし、T3 では使えない
CloudFront における Referer 制限は WAF を設定しないと実施できない
署名付き URL とは ?expires=xxxxx がつくような一時 URL のこと
サーバーサイド側で生成してクライアントに返す
URL は期限切れたら本人でもアクセスできなくなる
---
---
---
SAA 唯本堂1
Kubernetes Horizontal Pod Autoscaler
そのリソースの CPU 使用率に基づいて、デプロイ、レプリケーションコントローラー、またはレプリカセット内の Pod の数を自動的にスケーリングし doc Horizontalは水平、ポッドの数を変える
Verticalは垂直、ポッドのリソース量を変える
複数アカウント間でAWSリソース共有
リージョンまたぎでDB同期
グローバルなアプリケーション向けに設計されており、シンガポール側にリードレプリカを設置することで、カナダのプライマリ DB との1秒未満のレプリケーション遅延で同期できます。これにより、シンガポールのユーザーは高速なローカル読み取りが可能になります。
Amazon VPC CNIプラグイン
CNIは Container Network Interface(コンテナネットワークインターフェース)
EKSのPodにVPC内のIPアドレスを直接付与し、他のAWSリソースとネイティブにかつ安全に通信可能にします。
AWS Organizations前提でSSOを可能にする
オンプレのADとAD Connect経由で連携できる
Amazon S3 マルチリージョンアクセスポイント
複数のリージョンにまたがる S3 バケットへのアクセスを、一つのグローバルエンドポイントで実現できます。これにより、ユーザーはアプリケーションから地理的に最適なリージョンのバケットへと自動的かつ透過的にアクセスできます。
署名つきURL
個々のオブジェクトごとに署名済みのURLを発行し、そのURLを知っている人だけがアクセスできます。
署名つきCookie
クライアント(ブラウザ等)に署名済みのCookie(複数)をセットし、そのCookieを持つユーザーは設定範囲(パスやドメインごと等)内のオブジェクトにアクセスできます。
Glueはバッチ処理向け。リアルタイム性には劣る
CloudFrontは静的キャッシュ用途。動的なAPIレスポンスには不向き
AWS PrivateLinkを用いることで、特定の AWS アカウントに限定してサービスを提供でき、NLB を通じてトラフィックを安全に中継できる。 Lambda@Edge
CloudFront のエッジロケーションでコードを実行でき、配信コンテンツを圧縮する処理を挿入することでファイルサイズを削減し、結果としてデー タ転送コストを削減できます。既存のアプリケーションに手を加える必要がなく CloudFront 構成内で完結できる
Transit GatewayはDirect Connectと統合可能
AWS Transit Gatewayを利用すれば、 複数アカウントやリージョンにまたがる VPC を一元的に管理できます。 Direct Connect と統合することで、オンプレミスとの高帯域接続も実現でき、ネットワーク設計がシンプルかつ効率的に
VPC Lattice
Latticeは格子
マイクロサービス向け、VPC内部通信向け(インターネット接続用途ではない)
クロスアカウントIAMロールとSCPの組み合わせにより、Organizations 全体で制御された最小権限のアクセスを安全に一時付与できる。
クロスアカウントIAMロールは、ただのIAMロールだが指定時にAWSアカウントIDを指定する形sta.icon
SCPはサービスコントロールポリシー
Organizationsの概念
サービスコントロールポリシー(SCP)とは、AWS Organizationsを使用して、組織内のAWSアカウントに対して許可するアクションを制御するポリシーです。SCPを使用すると、組織全体、または特定の組織単位(OU)ごとにポリシーを適用し、ユーザーがどのAWSサービスとアクションを使用できるかをより高レベルで制御することができます。
IAMよりも優先される、SCPで禁止したらIAMで許可されてても禁止
AWS Lambdaのプロビジョンドコンカレンシー(Provisioned Concurrency)
lambdaはデフォはコールドスタート
これを使うとウォームスタート用の実行環境をn個つくっておける
AWS App Runner
今回範囲で挙がってないから無視していいよね
AWS App Runner は、ソースコードまたはコンテナイメージから AWS クラウドのスケーラブルで安全なウェブアプリケーションに直接デプロイするための、高速でシンプル、かつ費用対効果の高い方法を提供する AWS サービスです。新しいテクノロジーを学習したり、使用するコンピューティングサービスを決定したり、 AWS リソースをプロビジョニングして設定する方法を知っている必要はありません。
Beanstalkのコンテナ版?
Beanstalkではサーバーのオプションも多く、手動での設定が可能ですが、……AWS App Runnerは、Beanstalkのコンテナ特化版と見なすこともできますが、より「サーバーレス」に近い、それ独自の機能と目的を持ったサービスとして設計されています。
Fargateじゃダメなの?
かんたんデプロイマンsta.icon
SNSは複数ターゲットへの非同期通知ができる
SQSは通知を飛ばすものではなく、コンシューマ側が取り出しに行くもの
Route53 のジオルーティングは地理的情報による固定ルーティングで、リアルタイムのネットワーク状況を反映しない
反映したくばレイテンシールーティング
aws:PrincipalOrgID
まず
プリンシパル:「A は、C に対して B を実行するアクセス許可がある」というステートメントの場合、A がプリンシパルに相当。アクセス権の主語
グローバル条件コンテキストキー:ポリシー書くときに使えるシステム変数
リクエストのプリンシパル(アクションを実行しようとするエンティティ)が属している AWS Organizations 組織のID(Organization ID)を示します。
つまりプリンシパルが属するorgsのIDを指定できるってことだなsta.icon
AppStream 2.0はインタラクティブ用途のDaaSソリューション
クラウド上のアプリケーションをクライアントデバイスに配信するフルマネージドサービス
Workspacesはデスクトップ環境だが、AppStreamは特定アプリ?
アプリごとにURLがあって、アクセスするとブラウザベースのRDPみたいにそのアプリが使えるって感じsta.icon
NACLはサブネット単位、かつステートレスなファイアウォール
SGはインスタンス単位、かつステートフル
SGでも足りないきめ細かいときに使うsta.icon
IAM Roles for Service Accounts(IRSA)
サービスアカウントごとにIAMロールを関連付けることでPodにアクセス権を与えるらしい
https://gyazo.com/d991fc1b5816dcfa64386b4165db77fe
カスタマーゲートウェイとはオンプレミス側を示すゲートウェイのこと
インターネットゲートウェイは パブリックサブネット<->インターネット
カスタマーゲートウェイは VPC<->オンプレミス、かつVPNつき
AWS環境内につくるエンドポイント
---
---
---
SAA 模試3 カバー
数百万のリクエストは NLB を使え
数百万のインターネットトラフィックリクエストを処理するためには、Network Load Balancerを使用します。Application Load Balancerの性能では、数百万のインターネットトラフィックリクエストを処理するには不十分です。
EBSを定期バックアップしたいなら DLM Data Lifecycle Manager
Amazon Data Lifecycle Manager (Amazon DLM)を活用することで、Amazon EBSのスナップショット取得に関するライフサイクルポリシーを設定することが可能
EBSのバックアップを有効にするだけでは、定期的なライフサイクルポリシーの設定は行えません。
DAXは高コストなので「常時パフォーマンスを向上したい」用途としては過剰
DynamoDB テーブルは、DynamoDB Accelerator (DAX) を有効にすることで、追加のキャッシュレイヤーを介してパフォーマンスを最大 10 倍向上させ、ミリ秒からマイクロ秒の範囲での応答を実現します。DAXはインメモリキャッシュを活用しており、特定のデータ処理を迅速化するための有効な手段です。しかし、インメモリキャッシュは高コストであるため、常時使用することは経済的ではありません。
DynamoDB ではリードレプリカの概念がない(DAXで内包)
DynamoDB にも AutoScaling は適用できる
API処理を必要としてないのにAPI Gateway使おうとするな
S3クロスリージョンレプリケーションは各バケットで設定必要、また設定すると変更イベントをトリガーにしてレプリケートされる
S3クロスリージョンレプリケーションを設定することで、S3バケット内のオブジェクトが作成、更新、または削除される際に発生するイベントをトリガーとして、別のS3バケットにオブジェクトデータのレプリケーションが行われます。
単一のクロスリージョンレプリケーション設定では、一方のバケットに対してのみレプリケーションが行われるため、バケット間の完全な同期は実現できません。双方向のクロスリージョンレプリケーションを行うには、両方のバケットで互いにクロスリージョンレプリケーションを設定する必要があります。
EKS では Secret Manager は不要、EKS 内部で完結できるらしい
Amazon EKSに保存されるすべてのシークレットは、Kubernetesシークレットと呼ばれるEKS独自のシークレットを利用して暗号化する
Amazon S3 Storage Lens
バージョニングが無効となっているS3バケットを特定することが可能です
Amazon S3 のストレージクラス分析
ストレージアクセスパターンを詳細に分析し、データを適切なストレージクラスに移行する最適なタイミングを見極めることが可能
IAM Access Analyzer for S3
パブリックバケットや AWS アカウント外で共有されているバケットなどのバケットアクセス許可の状況を解析
Glacier、ボールトロックポリシーを設定してから Vault Lock を設定すればポリシー変更をガードできる
👀問題文よく見ろ
1 DynamoDBストリームはイベント駆動なので、定期的な処理の実装には向いてない
2 ピーク時間帯にSQSキューが満杯になっていることが原因とされているため、DynamoDB DAXクラスターを用いてキャッシュを保持することは無意味です。
3 Auto Scalingグループを構成するAmazon EC2インスタンス上にコンテナアプリケーションを実装するために、ユーザー側でソフトウェアを用いて環境を整備する必要があります。したがって、最小限の運用上のオーバーヘッドという要件には合致しません。
IAMデータベース認証
EC2インスタンスに適用することで、EC2インスタンスからIAMデータベース認証を利用してRDSのDBインスタンスにアクセスできるようになります
NLB の HTTP ヘルスチェックからは Auto Scaling のアクションにはつなげられない
アクションに繋がる部分まで意識しなければいけない🐰
UnhealthyHostCountのメトリクスをモニタリングするAmazon CloudWatchアラームを作成する。アラームがALARM状態になると異常状態のインスタンスを置換するように、Auto Scalingアクションを構成する。
たとえば cloudwatch アラームならアクションも叩ける
オンプレのIP範囲をAWSに移行したいときは Route Origin Authorization (ROA)
Route Origin Authorization (ROA) を利用して、AWSアカウントに対して特定のIPアドレスを移行する
この仕組みを活用することで、パブリックにルーティング可能なIPv4またはIPv6アドレス範囲の一部または全体を、オンプレミスのネットワークからAWSアカウントに移行することができます。アドレス範囲をAWSに設定すると、その範囲はAWSアカウント内のアドレスプールとして表示されます。
RAID覚えてないのでおさらい
RAID 0: データを複数ディスクに分散して高速化するが、冗長性はない。
RAID 1: データを複数ディスクに同時保存して冗長性を高める(ミラーリング)。
RAID 5: 複数ディスクに分散書き込みしつつ、パリティで1台障害に耐えられる。
RAID 6: 複数ディスクに分散・2つのパリティで2台の障害に耐えられる。
VPCフローログ + Redshiftクラスターに対して拡張VPCルーティング有効化
拡張VPCルーティングを利用することで、Redshiftはクラスターとデータリポジトリ間の全てのCOPYおよびUNLOADトラフィックがVPCを経由するように設定されます。
なるほど、redshift側からvpcに流す設定をするわけか🐰
Lambdaは自動でスケーリングする、ユーザーが手動で有効にするといった概念はない
APIリクエストにおける一時的な高負荷に対応するためには、Amazon API Gatewayの処理能力を向上させることが重要
そのためには、APIゲートウェイのスロットリング制限を設定し、キャッシュ機能を有効にする必要があります。
ALBはEC2インスタンスのトラフィックを複数のAWSリージョンに分散させることはできません
ALBは、単一のリージョン内で複数のアベイラビリティゾーンに対してトラフィックを分散させます。
可用性だからリージョンへの分散だろと思ったら違った、知らねえよそんなの🐰
Approximate Number Of Messages属性
Amazon SQSキューのメッセージ数に基づいてスケーリングを実施できる
リクエスタ支払い
S3バケットのクロスアカウントアクセスを有効化し、リクエスタ支払い機能を導入することで、ヨーロッパの企業が所有するAWSアカウントからS3バケットへのアクセスを許可しつつも、データ取得にかかる費用をヨーロッパ企業に負担させることが可能となります
CloudFrontにキャッシュ範囲を変更する的な概念はない
キャッシュ対象のオブジェクトの範囲によって配信効率を変更する設定は存在しません。キャッシュの保持期間を適切に設定することが重要です。
Amazon CloudFrontのディストリビューション設定において、Cache-Controlのmax-ageディレクティブやTTLが低い値に設定されていることが原因です。このため、キャッシュの保持期間が極めて短くなり、キャッシュの期限切れが頻発し、結果としてリクエストがオリジンサーバーに頻繁に送信されることになります。
地理的近接はパフォ目的、近接の名前のとおりパフォ目的って感じ ← これで覚えよう
「パフォりたいなら近づくしかねえんだよ」
24/7稼働ならリザーブドインスタンス使っていい
API Gateway は REST API の方が高機能
CloudFrontディストリビューションを通じて音声ファイルを配信することで、高速な音声配信を行う際にはREST APIを利用する方が最適です。HTTP APIはREST APIに比べて機能が制限されていますが、コア機能の提供に絞ることで低レイテンシかつ低コスト(コスト最適化)を実現します。
---
---
---
SAA 唯本堂2
オンデマンドキャパシティ予約を使うことで、特定のアベイラビリティゾーンで必要なインスタンス数を確保でき、中断のない処理が保証されます。
IAMロールにアクセス境界(パーミッションバウンダリ)を使用すると、ロールがどれだけ多くのポリシーをアタッチしても、実行できる最大の権限を制限できます
Amazon Security Lake
AWS の各種セキュリティソースからデータを自動収集・正規化し、S3 に一元保存します。Open Cybersecurity Schema Framework(OCSF)に準拠しており、多アカウント・多リージョンに対応可能です。
API Gatewayのリソースポリシーにより、IPアドレス単位でアクセス制限を直接定義可能
CloudTrail データイベントは、S3 オブジェクト単位での Get/Put 操作を記録可能
IAM Roles for Service Accounts(IRSA)を構成するには、EKS クラスターに OIDC プロバイダーを登録し、Kubernetes サービスアカウントに IAM ロールの ARN をアノテーションとして関連付ける必要があります。
OpenID Connectsta.icon
Amazon QLDB(Quantum Ledger Database)は、イミュータブルで暗号的に検証可能な変更履歴を提供するデータベースで、金融・保険分野の記録保持に理想的
改ざん絶対防止、トランザクション厳守、金融あたりがきたらQLDBsta.icon
QLDBは「分散やろ?」と覚えてたけど選べなかった
FSx for Windows File Server は SMB プロトコルを使用することで、Windows と Linux 両方のインスタンスからアクセス可能。
Linuxもいけるsta.icon
DataSync は同期に時間がかかり、即時アクセスには向いていない
Amazon FSx for Lustre は…… HPC(高性能コンピューティング)や金融モデリングに適したファイルシステムです。S3 とネイティブ統合されており、S3 上のオブジェクトを自動でファイルシステムに取り込み、
DNS系
Aレコードは「特定のドメイン名に対応するIPv4アドレスを指定」
CNAMEレコードは「ドメイン名を別のドメイン名にエイリアスするためのレコード」
ワイルドカードレコードは「特定のサブドメインのグループ全体に対するDNSクエリを処理するために使用されるDNSレコード」
スケジュール型RIは限られた条件下でのみ購入可能で、汎用性に欠ける
て1週間限定のキャンペーンを実施しており、その間だけゲームログを処理する15台のAmazon EC2インスタンスが必要になります。処理は1日3時間、合計21時間程度の稼働です。コストを最小化しつつ安定的な動作を確保するには、どの料金モデルを選ぶべきですか?
この程度だとオンデマンドインスタンスで良いらしいsta.icon
Global Acceleratorはネットワークパフォーマンスを改善しますが、データキャッシュは提供しません。
同一AZ内でのインスタンス間通信はAWSでは無料であるため、全てのインスタンスを同じAZ内に配置することで、データ転送コストを大幅に削減
CloudFront はキャッシュ配信には適していますが、ALB のトラフィックルーティング制御には制限があります。
🤖リクエストのルーティングというよりも、キャッシュとコンテンツ配信に特化しています。